.rr-avatar{width:64px!important;height:64px!important;border-radius:18px!important;background:#dff3f5!important;color:#017188!important;display:grid!important;place-items:center!important}
.rr-avatar svg{width:34px;height:34px}
.profile-icon-button{display:inline-flex!important;align-items:center;gap:8px}
.tenant-nav-button{display:inline-flex;align-items:center;gap:7px}
.tenant-nav-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.search svg,.mobile-search svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:#617377;stroke-width:1.5;stroke-linecap:round}
.profile-icon-button svg{width:22px;height:22px}
.support-nav-button{border:1px solid #d5e0e1!important;border-radius:99px!important;padding:9px 14px!important}

/* Every modal must remain usable on short phones and zoomed browser windows. */
.rr-dialog{max-height:calc(100dvh - 24px);overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable}
.rr-dialog>.rr-dialog-close{position:sticky;top:12px;float:right;margin:12px 12px -50px 0;box-shadow:0 4px 14px rgba(7,31,36,.14)}
.rr-dialog-body{clear:both}
.rr-dialog details[open] summary{margin-bottom:10px}
.rr-dialog details p{line-height:1.65}
.rr-flag-button{margin-top:18px;border:1px solid #d8e2e3;background:#fff;color:#52666b;border-radius:12px;font-weight:700;padding:9px 12px;display:inline-flex;align-items:center;gap:8px;box-shadow:0 2px 7px rgba(7,31,36,.04);transition:background .18s,border-color .18s,color .18s,transform .18s}
.rr-flag-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rr-flag-button:hover{background:#fff7f4;border-color:#e8c8bd;color:#9a4937;transform:translateY(-1px)}
.rr-flag-button:focus-visible{outline:3px solid rgba(1,113,136,.22);outline-offset:2px}

.rr-form-dialog form{padding:30px;display:grid;gap:14px;clear:both}
.rr-form-dialog h2{margin:0;font-size:28px}
.rr-form-dialog form>p{margin:0;color:#6b777a}
.rr-form-dialog label{display:grid;gap:6px;font-size:11px;font-weight:700}
.rr-form-dialog input,.rr-form-dialog select,.rr-form-dialog textarea{width:100%;border:1px solid #dce2e2;border-radius:11px;padding:11px;background:#fff;font:inherit}
.rr-form-dialog .cta{justify-self:start;border:0}

@media(max-width:760px){
  .rr-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:20px}
  .rr-dialog-visual{height:180px}
  .rr-dialog-body{padding:19px 18px 24px}
  .rr-dialog-body h2{font-size:22px}
  .rr-redeem{margin:16px 0}
  .rr-form-dialog form{padding:22px 18px 24px}
}

.offer-card{position:relative}
.rr-card-open{position:absolute;inset:0;border:0;background:transparent;border-radius:inherit;z-index:2;cursor:pointer}
.rr-card-open:focus-visible{outline:3px solid rgba(1,113,136,.45);outline-offset:3px}
.offer-card .offer-photo,.offer-card .offer-info{pointer-events:none}
.offer-card .rr-favourite{pointer-events:auto}
.rr-offer-facts,.rr-dialog-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.rr-offer-facts span,.rr-dialog-facts span{border-radius:99px;background:#eef4f4;color:#4b6268;padding:5px 8px;font-size:9px;font-weight:700}
.rr-full-details{display:inline-block;margin-top:16px;border:1px solid #b9d2d6;border-radius:12px;padding:10px 13px;color:#017188;font-size:11px;font-weight:800;text-decoration:none}
.rr-full-details:hover{background:#eff9fa}
.rr-load-more{display:block;margin:26px auto 8px;border:1px solid #017188;background:#fff;color:#017188;border-radius:99px;padding:12px 22px;font-weight:800}
.rr-load-more:hover{background:#eff9fa}
.rr-skeleton{min-height:340px;border-radius:20px;background:linear-gradient(90deg,#eef2f2 25%,#f8f9f9 45%,#eef2f2 65%);background-size:300% 100%;animation:rr-shimmer 1.25s infinite}
@keyframes rr-shimmer{to{background-position:-300% 0}}
.rr-reference-dialog>div{padding:38px;text-align:center;display:grid;justify-items:center;gap:12px}
.rr-reference-dialog h2,.rr-reference-dialog p{margin:0}
.rr-reference-dialog p{max-width:430px;color:#6b777a}
.rr-reference-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#e5f5ec;color:#277a55;font-size:28px;font-weight:900}
.rr-reference-dialog strong{background:#eef4f4;border-radius:10px;padding:10px 14px;color:#365d66}
.category-tile-icon img{width:42px;height:42px;object-fit:contain;transition:filter .18s ease,transform .18s ease}
.category-tile:hover .category-tile-icon img,.category-tile.active .category-tile-icon img{filter:brightness(0) invert(1);transform:translateY(-1px)}

/* Lightweight visual and interaction system */
.offer-card{border-radius:20px;box-shadow:0 5px 16px rgba(15,44,49,.07);transition:transform .16s ease,box-shadow .16s ease}
.offer-card:hover{transform:translateY(-3px);box-shadow:0 11px 26px rgba(15,44,49,.11)}
.offer-photo>img.main,.rr-dialog-visual>img:first-child{object-position:center}
.cta,.rr-load-more,.search,.sort-select,.category-select{border-radius:12px}
.banner,.rr-dialog{border-radius:24px}
.rr-dialog::backdrop{backdrop-filter:none!important}
.rr-dialog[open]{animation:rr-dialog-in .22s ease-out}
@keyframes rr-dialog-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.rr-favourite{transition:background-color .16s ease,color .16s ease,transform .16s ease}
.rr-favourite.rr-pop{animation:rr-heart-pop .22s ease-out}
@keyframes rr-heart-pop{50%{transform:scale(1.22)}}
.rr-new-card{animation:rr-card-in .24s ease-out both}
@keyframes rr-card-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.category-rail-wrap:after{content:'';position:absolute;right:0;top:0;bottom:12px;width:42px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--blush))}
.favourites-empty svg{width:58px;height:58px;margin-bottom:10px;fill:none;stroke:#3e7b8f;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.favourites-empty h3{color:#20383d;margin:4px 0}
.toast{display:flex;align-items:center;gap:14px;max-width:calc(100% - 28px)}
.toast button{border:0;background:transparent;color:#8de2ec;font-weight:850;padding:2px 0}
.banner-control{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#315a63;font-size:27px;box-shadow:0 5px 16px rgba(0,0,0,.13)}
.banner-prev{left:14px}.banner-next{right:14px}
.banner-dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:7px;z-index:4;padding:6px 9px;border-radius:99px;background:rgba(7,31,36,.22)}
.banner-dots button{width:7px;height:7px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.55)}
.banner-dots button.active{width:20px;border-radius:99px;background:#fff}
.banner.image-only{display:block;min-height:0;aspect-ratio:5/2;background:#edf2f2}
.banner-image-link{display:block;width:100%;height:100%;position:absolute;inset:0}
.banner.image-only .banner-media{display:block;width:100%;height:100%;min-height:0;background-size:cover;background-position:center}
@media(max-width:760px){
  .rr-offer-facts span:not(:first-child){display:none}
  .rr-offer-facts{margin-top:7px}
  .rr-offer-facts span{font-size:8px;padding:4px 6px}
  .banner-control{width:34px;height:34px;font-size:22px}
  .banner.image-only{aspect-ratio:16/9}
  .category-rail-wrap:after{width:28px}
}
@media(hover:none){.offer-card:hover{transform:none;box-shadow:0 5px 16px rgba(15,44,49,.07)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.rr-skeleton{animation:none;background:#eef2f2}}
